import { PageReqParams } from '@/api/types'
import {
  MaterialType,
  MaterialStucture,
  MaterialStatus,
  MaterialSecType,
  MaterialSource,
} from '@/components/ItemList/MaterialList/types'

/**
 * 查询素材的请求参数
 */
export type QueryMaterialRequest = {
  /**
   * 图片 id
   */
  id?: string
  /**
   * 原素材ID
   */
  sourceId?: string
  /**
   *  素材类型  1图片 2 视频 3 音乐 4 字体
   */
  type?: MaterialType
  /**
   *  0 未知  1.横图  2 竖图 3方图 4 全景图
   */
  structure?: MaterialStucture
  /**
   *  作者id
   */
  authorId?: string
  /**
   * 图集ID
   */
  atlasId?: string
  /**
   *  1 正常 2已下架 3待审核 4驳回
   */
  status?: MaterialStatus
  /**
   *  图集
   */
  atlas?: string[]
  /**
   *  分类
   */
  category?: string
  /**
   *  关键字
   */
  tag?: string
  /**
   *  标题
   */
  title?: string
  /**
   *  素材二级类型 1摄影图 2免抠 3 设计矢量图
   */
  itype?: MaterialSecType
  /**
   *  素材来源 1plus 2 dp 3优图 4 开篇
   */
  source?: MaterialSource
} & PageReqParams
export interface ModifyMaterialAtlasRequest {
  /**
   * 素材ID
   */
  materialId: string
  data: string[]
}
export type ModifyMaterialTagsRequest = ModifyMaterialAtlasRequest
export interface RemoveMaterialAtlasRequest {
  /**
   * 素材ID
   */
  materialId: string
  /**
   * 图集ID
   */
  data: string[]
}

/**
 * 老修改素材接口
 * 万总写的
 */
export interface ModifyMaterialInfoReq {
  /** 素材ID */
  id: string
  /** 素材标题 */
  title?: string
  /** 素材描述 */
  description?: string
  /** 作者名 */
  authorName?: string
  /** 原图大小 */
  originalSize?: string
  /** 图片标签 */
  tags?: string
  /** 图片一级类型 */
  type?: MaterialType
  /** 图片二级类型 */
  itype?: MaterialSecType
  /** 素材状态 */
  status?: MaterialStatus
  /** 素材的下载数量 */
  downloads?: number
  /** 素材的浏览次数 */
  views?: number
  /** 素材用途: 0商业 1传媒 */
  usage?: number
  /** 构图方式 */
  structure?: MaterialStucture
  /** 视频长度 */
  videoLength?: number
}

export interface UpdateMaterialReq {
  /** 素材ID */
  id: string
  /** 素材标题 */
  title?: string
  /** 素材描述 */
  description?: string
  /** 图片标签 */
  tagList?: string[]
  /** 图片一级类型 */
  type?: MaterialType
  /** 图片二级类型 */
  itype?: MaterialSecType
  /** 素材用途: 0商业 1传媒 */
  usage?: number
  /** 构图方式 */
  structure?: MaterialStucture
  /** 素材分类 */
  categoryList?: string[]
}
